Software Evolution: A Trip Through Reflective, Aspect, and Meta-data Oriented Techniques
نویسندگان
چکیده
Previous workshops related to aspect oriented software development, reflection organized at previous ECOOP conferences (e.g., RMA’001.and AOMMeT’012.) and conferences on the same topics (Reflection’01 and AOSD since 2002) have pointed out the growing interest on these topics and their relevance in the software evolution as techniques for code instrumentation. Very similar conclusions can be drawn by reading the contributions to the workshops on unanticipated software evolution (USE 2002 and USE 20033.). Following the example provided by these venues, the RAM-SE (Reflection, AOP and Meta-Data for Software Evolution) workshop has provided an opportunity for researchers with a broad range of interests in reflective techniques and aspect-oriented software development to discuss recent developments of such a techniques in application to the software evolution. The workshop main goal was to encourage people to present works in progress. These works could cover all the spectrum from theory to practice. To ensure creativity, originality, and audience interests, participants have been selected by the workshop organizers on the basis of 5-page position paper. We hope that the workshop will help them to mature their ideas and to improve the quality of their future publications based on the presented work. The workshop proceedings are available as research report C-186 of the Department of Mathematical and Computing Sciences of the Tokyo Institute of Technology and freely downlodable from the workshop web site4. 1 Details at http://www.disi.unige.it/RMA2000.html 2 Details at http://ecoop2001.inf.elte.hu/workshop/AOMMeT-ws.html 3 Details at http://www.joint.org/use/ 4 RAM-SE04 Web Site: http://homes.dico.unimi.it/RAM-SE04.html J. Malenfant and B.M. Østvold (Eds.): ECOOP 2004, LNCS 3344, pp. 118–132, 2004. c ©Springer-Verlag Berlin Heidelberg 2004 Software Evolution 119 Workshop Description and Objectives Software evolution and adaptation is a research area, as also the name states, in continuous evolution, that offers stimulating challenges for both academic and industrial researchers. The evolution of software systems, to face unexpected situations or just for improving their features, relies on software engineering techniques and methodologies. Nowadays a similar approach is not applicable in all situations e.g., for evolving nonstopping systems or systems whose code is not available. The evolution of software systems, to face unexpected situations or just for improving their features, relies on software engineering techniques and methodologies. Nowadays a similar approach is not applicable in all situations e.g., for evolving nonstopping systems or systems whose code is not available. Features of reflection such as transparency, separation of concerns, and extensibility seem to be perfect tools to aid the dynamic evolution of running systems. Aspectoriented programming (AOP in the next) can simplify code instrumentation whereas techniques that rely on meta-data can be used to inspect the system and to extract the necessary data for designing the heuristic that the reflective and aspect-oriented mechanism use for managing the evolution. We feel the necessity to investigate the benefits brought by the use of these techniques on the evolution of object-oriented software systems. In particular we would determine how these techniques can be integrated together with more traditional approaches to evolve a system and the benefits we get from their use. The overall goal of this workshop was that of supporting circulation of ideas between these disciplines. Several interactions were expected to take place between reflection, aspect-oriented programming and meta-data for the software evolution, some of which we cannot even foresee. Both the application of reflective or aspect-oriented techniques and concepts to software evolution are likely to support improvement and deeper understanding of these areas. This workshop has represented a good meetingpoint for people working in the software evolution area, and an occasion to present reflective, aspect-oriented, and meta-data based solutions to evolutionary problems, and new ideas straddling these areas, to provide a discussion forum, and to allow new collaboration projects to be established. The workshop was a full day meeting. One part of the workshop was devoted to presentation of papers, and another to panels and to the exchange of ideas among participants. Workshop Topics and Structure Every contribution that exploits reflective techniques, aspect-oriented programming and/or meta-data to evolve software systems were welcome. Specific topics of interest for the workshop have included, but were not limited to: – reflective middleware and environments for software evolution; – adaptative software components; – feature-oriented adaptation; – aspect interference and composition for software evolution; – evolution and adaptability; 120 W. Cazzola, S. Chiba, and G. Saake – MOF, code annotations and other meta-data facilities for software evolution; – intercession and introspection; – software evolution tangling concerns. To ensure lively discussion at the workshop, the organizing committee has chosen the contributions on the basis of topic similarity that will permit the beginning of new collaborations. To grant an easy dissemination of the proposed ideas and to favorite an ideas interchange among the participants, accepted contributions are freely downloadable from the workshop web page: http://homes.dico.unimi.it/RAM-SE04.html. The proceedings of the event is also available as research report C-186 of the Dept. of Mathematical and Computing Sciences of the Tokyo Institute of Technology. The workshop was a full day meeting organized in four sessions. Each session has been characterized by a dominant topic that perfectly describes the presented papers and the related discussions. The four dominant topics were: reflective middleware for software evolution, software evolution and refactoring, join points and crosscutting concerns for software evolution, and parametric aspects and generic aspect languages. During each session, half time has been devoted to papers presentation, and the rest of the time has been devoted to debate about the on-going works in the area, about relevance of the approaches in the software evolution area and the achieved benefits. The discussion related to each session has been brilliantly lead respectively by Yvonne Coady, Joseph W. Yoder, Günter Kniesel and Hidehiko Masuhara. The workshop has been very lively, the debates very stimulating, and the high number of participants (see appendix A) testifies the growing interest in the application of reflective, aspectand meta-data oriented techniques to software evolution. Important References To an occasional reader who would like to deepen his(her) knowledge about the topics of this workshop (that is, to learn more about reflection, aspect-oriented programming and software evolution), we suggest to read the following basic contributions: – Pattie Maes. Concepts and Experiments in Computational Reflection. In Proceedings of the 2nd Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA’87), pages 147–156, Orlando, Florida, USA, October 1987. ACM. – Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin. Aspect-Oriented Programming. In 11th European Conference on Object Oriented Programming (ECOOP’97), LNCS 1241, pages 220–242, Helsinki, Finland, June 1997. Springer-Verlag. – Keith H. Bennett and Václav T. Rajlich. Software Maintenance And Evolution: A Roadmap. In Anthony Finkelstein, editor, The Future of Software Engineering, pages 75–87. ACM Press, 2000. Whereas, to learn more about the use of reflective or aspect-oriented techniques in the software evolution and maintenance we suggest to look at the following proceedings and books: Software Evolution 121 – Walter Cazzola, Robert J. Stroud, and Francesco Tisato, editors, Reflection and Software Engineering, LNCS 1826. Springer, Heidelberg, Germany, June 2000. – Akinori Yonezawa and Satoshi Matsuoka, editors. Proceedings of 3rd International Conference on Metalevel Architectures and Separation of Crosscutting Concerns (Reflection’2001), LNCS 2192. Kyoto, Japan, September 2001. Springer. – The Proceedings of the AOSD Conferences from 2002 to 2004. Available from http://aosd.net/archive/index.php. Besides, to keep up to date with the evolution of the software evolution research area we suggest to consult the following page: – Program-Transformation.org:
منابع مشابه
Getting Farther on Software Evolution via AOP and Reflection
Following last four years’ RAM-SE (Reflection, AOP and Meta-Data for Software Evolution) workshop at the ECOOP conference, the RAM-SE’08 workshop was a successful and popular event. As its name implies, the workshop’s focus was on the application of reflective, aspect-oriented and data-mining techniques to the broad field of software evolution. Topics and discussions at the workshop included me...
متن کاملEnabling Software Evolution Via AOP and Reflection
Following last three years’ RAM-SE (Reflection, AOP and Meta-Data for Software Evolution) workshop at the ECOOP conference, the RAM-SE’07 workshop was a successful and popular event. As its name implies, the workshop’s focus was on the application of reflective, aspect-oriented and data-mining techniques to the broad field of software evolution. Topics and discussions at the workshop included m...
متن کاملAOSD and Reflection: Benefits and Drawbacks to Software Evolution
Following last two years’ RAM-SE (Reflection, AOP and Meta-Data for Software Evolution) workshop at the ECOOP conference, the RAM-SE 2006 workshop was a successful and popular event. As its name implies, the workshop’s focus was on the application of reflective, aspect-oriented and data-mining techniques to the broad field of software evolution. Topics and discussions at the workshop included m...
متن کاملSoftware Evolution: a Trip through Reflection, Aspect, and Meta-Data Oriented Approaches
Previous workshops related to aspect oriented software development, reflection organized at previous ECOOP conferences (e.g., RMA’001 and AOMMeT’012) and conferences on the same topics (Reflection’01 and AOSD since 2002) have pointed out the growing interest on these topics and their relevance in the software evolution as techniques for code instrumentation. Very similar conclusions can be draw...
متن کاملRaising a Reflective Family
This paper gives an outline of our research on how to combine modelling and meta-modelling to methodically generate reflective middleware family configurations. From our partial results we have identified some research challenges and questions that bring together the areas Model-Driven Software Development, Reflection, and Aspect Oriented Software Development.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004